﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

namespace RFServer.Functions
{
    internal static class Functions
    {
        /// <summary>
        /// Функция вычисляет имя файла/директории по ее полному пути
        /// </summary>
        /// <param name="filePathName">Полный путь к файлу/директории</param>
        /// <returns>имя файла/директории</returns>

        internal static string GetFileName(this string filePathName)
        {
            return filePathName.Substring(filePathName.LastIndexOf('\\') + 1);
        }
    }

    public static class Error
    {
        /// <summary>
        /// Диалоговое окно с сообщением об ошибке
        /// </summary>
        /// <param name="msg">Сообщение</param>
        /// <param name="e">Возникшее исключение</param>
        /// <returns>false</returns>

        public static bool Show(string msg, Exception e)
        {
            string message = msg;

            if (e != null)
                message += "\n\n" + e.ToString();

            MessageBox.Show(message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Stop);

            return false;
        }

        /// <summary>
        /// Диалоговое окно с сообщением об ошибке
        /// </summary>
        /// <param name="msg">Сообщение</param>
        /// <returns>false</returns>

        public static bool Show(string msg)
        {
            return Show(msg, null);
        }

        /// <summary>
        /// Диалоговое окно с информацией
        /// </summary>
        /// <param name="msg">Информация</param>
        /// <returns>true</returns>

        public static bool Information(string msg)
        {
            MessageBox.Show(msg, "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);
            return true;
        }
    }
}
